1. Field of the Invention
The present invention relates to an image processing apparatus, an image processing system, an image processing method and a computer program, which are capable of controlling a motion of a robot with high accuracy without coding a complex robot motion control program point by point.
2. Description of Related Art
There have been developed a large number of control systems in which an image of a working area of a robot is captured by an imaging device, a position of a workpiece in the captured image is detected, and position information of the detected workpiece is calculated based on the captured image, to control a motion of the robot with high accuracy.
For example, Unexamined Japanese Patent Publication No. H4-134501 discloses a robot controller that controls a robot motion based on information detected by a sensor including an imaging device. Further, Unexamined Japanese Patent Publication No. H9-091022 discloses a robot controller that transmits a load module (robot motion control program) compiled in an external computer, to control a robot motion.
As thus described, in the conventional robot control system, in order to perform elaborate motion control, position coordinates calculated in a coordinate system displayed in an image processing apparatus are converted to position coordinates in a coordinate system with which the robot controller makes an end effector take a motion. Processing to calculate a conversion formula for performing the coordinate conversion is called calibration. The end effector herein means an end portion of a robot arm, which can grasp and firmly fix a workpiece, for example.
A motion (movement) command to the end effector of the robot is obtained by the image processing apparatus converting position coordinates based on the captured image to coordinate values of actual position coordinates based on a calibration result. The image processing apparatus transmits the motion (movement) command to the robot controller along with the converted coordinate values.
In order for the robot controller to make the robot take a correct motion, a user needs to create a robot operation program. In the operation program, there is sequentially described a series of operations such as returning the end effector of the robot to an original position, moving the end effector to a specific position, grasping a workpiece, and releasing the workpiece.
However, it is also necessary for the user to create a program for a series of operations including data communication with the image processing apparatus. Thus, controlling the motion of the robot generates the need to create not only the operation program for the robot controller but also the program for the series of operations related to the image processing apparatus. Hence there has been a problem of taking considerable time to start up a whole system.